home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / prolog / ai.prl / opnprlg1.hqx / Open Prolog / External Predicates… / Sources / prlxDefinitions.p < prev    next >
Text File  |  1993-04-15  |  7KB  |  251 lines

  1. UNIT prlxDefinitions;
  2.  
  3.   INTERFACE
  4.  
  5.     CONST
  6.       {outcome codes, based on ISO error conditions and a few more╔}
  7.       noErrorSucceed = 0;
  8.       noErrorFail = 1;
  9.       systemError = 2;
  10.       calculationError = 3;
  11.       databaseError = 4;
  12.       evaluationError = 5;
  13.       implementationError = 6;
  14.       instantiationError = 7;
  15.       ioControlError = 8;
  16.       ioEndOfFileError = 9;
  17.       ioFormattingError = 10;
  18.       operatorError = 11;
  19.       overflowError = 12;
  20.       unclassifiedError = 13; {this is not part of the ISO definition}
  21.       syntaxError = 14;
  22.       typeError = 15;
  23.       undefinedPredicateError = 16;
  24.       undefinedValueError = 17;
  25.       underflowError = 18;
  26.       zeroDivideError = 19;
  27.       domainError = 20;
  28.       userInterrupt = 21; {this is not part of the ISO definition}
  29.       notAnErrorCode = - 1;
  30.  
  31.       {tags}
  32.       variableTag = 0;
  33.       atomTag = 24;
  34.       integerTag = 32;
  35.       structureTag = 40;
  36.       realTag = 52;
  37.       {commands}
  38.       getPRLXInfo = 1;
  39.       initialisePredicate = 2;
  40.       callPredicate = 3;
  41.       closePredicate = 4;
  42.       getEventsVersion = 5;
  43.  
  44.       {callback commands}
  45.       getTermInfo = 1;
  46.       getSubTerm = 2;
  47.       newTerm = 3;
  48.       unifyTerms = 4;
  49.       unifyToFunctor = 5;
  50.       unifyToInteger = 6;
  51.       identicalTerms = 7;
  52.       listArgumentToString = 8;
  53.       stringToListArgument = 9;
  54.       writeError = 10;
  55.       writeString = 11;
  56.       writelnString = 12;
  57.       drawALRT = 13;
  58.       pushDisplayString = 14;
  59.       popDisplayString = 15;
  60.       getEventRecord = 16;
  61.       doMyModalDialog = 17;
  62.       sendEvents = 18; {ask Open Prolog to send raw events}
  63.       inForeground = 19; {put 1 in callbackdata[1] if in foreground mode?}
  64.       startNotification = 20; {put up a notification}
  65.       stopNotification = 21;
  66.       getFreeTerm = 22; {get the index number of a new unbound local variable in
  67.                          callbackdata[1]}
  68.       getPredicateNameAndArity = 23;
  69.  
  70.       eventsVersion = 4;
  71.  
  72.       eventRePositioned = 1;
  73.       eventGoAwayMouse = 2;
  74.       eventUpdate = 3;
  75.       eventActivate = 4;
  76.       eventDeactivate = 5;
  77.       eventMenuClick = 6;
  78.       eventMenuSelect = 7;
  79.       eventMenuKey = 8;
  80.       eventKey = 9;
  81.       eventSelect = 10;
  82.       eventClose = 11;
  83.       eventSave = 12;
  84.       eventSaveAs = 13;
  85.       eventQuit = 14;
  86.       eventShutdown = 15;
  87.       eventRestart = 16;
  88.       eventRevert = 17;
  89.       eventCalculateMenus = 18;
  90.       eventDisplayChar = 19;
  91.       eventDisplayText = 20;
  92.       eventDisplayFlush = 21;
  93.       eventDisplaySelection = 22;
  94.       eventContentClick = 23;
  95.       eventReadTerm = 24;
  96.       eventInitialise = 25;
  97.       eventSee = 26;
  98.       eventTell = 27;
  99.       eventSeeing = 28;
  100.       eventTelling = 29;
  101.       eventSeen = 30;
  102.       eventTold = 31;
  103.       eventGetCursorInfo = 32;
  104.       eventIdle = 33;
  105.       eventSuspend = 34;
  106.       eventResume = 35;
  107.       eventCloseAll = 36;
  108.       eventStartup = 37;
  109.       eventKissByeBye = 38;
  110.       eventGetEntry = 39;
  111.       eventItemHit = 40;
  112.       eventFindString = 41;
  113.       eventReplaceString = 42;
  114.       eventGetGrowLimit = 43;
  115.       eventSetWindowSize = 44;
  116.       eventWindowCommand = 45;
  117.       debugStepped = 46;
  118.       debugStep = 47;
  119.  
  120.       wcGetNumber = 1;
  121.       wcGetWindow = 2;
  122.       wcGetSelection = 3;
  123.       wcSetSelection = 4;
  124.       wcSetOutline = 5;
  125.       wcClearOutline = 6;
  126.       wcClearAllOutlines = 7;
  127.       wcSetAsOutput = 8;
  128.       wcGetIndex = 9;
  129.       wcGetStartingPoint = 10;
  130.       wcSetStartingPoint = 11;
  131.       wcPurgeInput = 12;
  132.       wcOpenFileWindow = 13;
  133.  
  134.       messageOK = 0;
  135.       messageQuit = 1;
  136.       messageReset = 2;
  137.       messageExecute = 3;
  138.       messageFail = 4;
  139.       messageKey = 5;
  140.       messageClick = 6;
  141.       messageShutdown = 7;
  142.       messageRestart = 8;
  143.       messageInterrupt = 9;
  144.       messageEntry = 10;
  145.       messageCancel = 11;
  146.       messageNoReply = 12;
  147.  
  148.       messageError = - 32768;
  149.  
  150.       rtOK = 0;
  151.  
  152.       rtError = - 32768;
  153.       rtIncomplete = - 32767;
  154.       rtNumberRangeError = - 32766;
  155.       rtQuotedAtomTooLong = - 32765;
  156.       rtStringTooLong = - 32764;
  157.       rtAtomTooLong = - 32763;
  158.       rtVariableNameTooLong = - 32762;
  159.       rtUnexpectedEOF = - 32761;
  160.       rtUnexpectedCharacter = - 32760;
  161.       rtUnificationFailure = - 32759;
  162.       rtOperatorError = - 32758;
  163.       rtCantFindFile = - 32757;
  164.       rtFileIsAFolder = - 32756;
  165.       rtFileIsWrongTypeForReading = - 32755;
  166.       rtFileIsAlreadyOpen = - 32754;
  167.       rtDiskIsFull = - 32753;
  168.       rtDiskIsLocked = - 32752;
  169.       rtFileIsLocked = - 32751;
  170.       rtFileIsReadOnly = - 32750;
  171.       rtFileIOProblem = - 32749;
  172.       rtCantGetEnoughMemory = - 32748;
  173.       rtAttemptToReadPastEof = - 32747;
  174.       rtSpaceError = - 32746;
  175.       rtBufferTooSmall = - 32745;
  176.       rtNonSequentialFileAccess = - 32744;
  177.       rtCantOpenForReading = - 32743;
  178.       rtCantOpenForWriting = - 32742;
  179.       rtFileTableFull = - 32741;
  180.       rtFileIsWrongTypeForWriting = - 32740;
  181.       rtDirectoryNotFound = - 32739;
  182.       rtFileAlreadyExists = - 32738;
  183.       rtNoSuchVolume = - 32737;
  184.       rtOutputStringTooBig = - 32736;
  185.  
  186.       appleMenu = 128;
  187.       fileMenu = 129;
  188.       editMenu = 130;
  189.       findMenu = 131;
  190.       windowMenu = 132;
  191.       fontMenu = 133;
  192.       sizeMenu = 134;
  193.       controlMenu = 135;
  194.  
  195.       newItem = 1;
  196.       openItem = 2;
  197.       closeItem = 4;
  198.       saveItem = 5;
  199.       saveAsItem = 6;
  200.       revertItem = 7;
  201.       pageSetupItem = 8;
  202.       printItem = 9;
  203.       printSelectionItem = 10;
  204.       quitItem = 12;
  205.  
  206.       undoItem = 1;
  207.       cutItem = 3;
  208.       copyItem = 4;
  209.       pasteItem = 5;
  210.       clearItem = 6;
  211.       selectAllItem = 8;
  212.       autoIndentItem = 10;
  213.  
  214.       replaceDialogId = 132;
  215.       findDialogId = 133;
  216.  
  217.       findItem = 1;
  218.       findSameItem = 2;
  219.       findSelectionItem = 3;
  220.       displaySelectionItem = 4;
  221.       replaceItem = 6;
  222.       replaceSelectionItem = 7;
  223.  
  224.     TYPE
  225.       prlxRecord = RECORD
  226.                      request, id: integer;
  227.                      data: ARRAY [1..3] OF longint;
  228.                      callbackRequest: integer;
  229.                      callbackData: ARRAY [1..3] OF longint;
  230.                      s: str255;
  231.                      entryPoint: procPtr;
  232.                      successful: boolean;
  233.                      determinate: boolean;
  234.                      outcome: integer;
  235.                      permanentData: longint;
  236.                      callbackAvailable: boolean;
  237.                      prlxHandleFlags: signedByte;
  238.                      prlxHandle: ^procPtr;
  239.                      prlxFunctor: longint; {private - reserved}
  240.                    END;
  241.       prlxPtr = ^prlxRecord;
  242.  
  243.     TYPE
  244.       termIndex = 0..8192;
  245.  
  246.     PROCEDURE callback(address: procPtr);
  247.       INLINE $205F, $4E90;
  248.  
  249.   IMPLEMENTATION
  250. END.
  251.